/**
 * 
 */
package cl.duocap.refaxion.view.bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;

import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import cl.duocap.refaxion.dto.UsuarioDTO;
import cl.duocap.refaxion.servicios.UsuarioService;

/**
 * @author rentonx
 *
 */
@ManagedBean(name = "mainUsuarioBean")
@SessionScoped
public class MainUsuarioBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private List<UsuarioDTO> listaUsuariosIngresadosDtos;
	private List<UsuarioDTO> filtrolistaUsuariosIngresadosDtos;
	private int idUsuario;
	private String rut;
	private String nombre;
	private String apellidoPaterno;
	private String apellidoMaterno;
	private String telefono;
	private String direccion;
	private String fechaIngreso;
	private String usuario;
	private String password;
	private int estado;
	private String email;
	private UsuarioDTO usuarioPorEliminar;
	private String nombreBuscado; 


	/**
	 * 
	 */
	
	@PostConstruct
	public void inicio(){
		if (FacesContext.getCurrentInstance().isPostback()) {
			return;
		}
		
		
		
	}
	
	public String listaUsuarios(){
		
		try {
			
			UsuarioService usuario = new UsuarioService();
			listaUsuariosIngresadosDtos = usuario.obtenerTodosUsuarios();
			  
			return "mainUsuario.xhtml?faces-redirect=true";
			
		} catch (Exception e) {
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), e.getMessage()));
			System.out.println("errorLista Usuarios");
			return null;
		}
		
		
	}
	
	public void listanerEliminarUsuario(UsuarioDTO usuarioEliminar){

		setUsuarioPorEliminar(usuarioEliminar);
		
	}
	
	
	public String confirmareliminarUsuario(){

	try {

		UsuarioService usuario = new UsuarioService();
		if(!usuario.eliminarUsuario(usuarioPorEliminar.getIdUsuario())){
			return "mainUsuario?faces-redirect=true";
		}else{
			return "mainUsuario?faces-redirect=true";
		}
		
	} catch (Exception e) {
		
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), e.getMessage()));
		System.out.println("errorLista Usuarios");
		return "error";
	}	
		
	}

	
	public String listenerVerUsuario(String idUsuarioVer){

		String url = "/mantenedor/usuario/formUsuarioVer?faces-redirect=true&idUsuario=" + idUsuarioVer;			
		return url;
	}
	
	public String listenerEditarUsuario(String idUsuarioEditar){

		String url = "/mantenedor/usuario/formUsuarioEditar?faces-redirect=true&idUsuario=" + idUsuarioEditar;			
		return url;
	}

	public MainUsuarioBean() {
		
	}

	public String getRut() {
		return rut;
	}

	public void setRut(String rut) {
		this.rut = rut;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellidoPaterno() {
		return apellidoPaterno;
	}

	public void setApellidoPaterno(String apellidoPaterno) {
		this.apellidoPaterno = apellidoPaterno;
	}

	public String getApellidoMaterno() {
		return apellidoMaterno;
	}

	public void setApellidoMaterno(String apellidoMaterno) {
		this.apellidoMaterno = apellidoMaterno;
	}

	public String getFechaIngreso() {
		return fechaIngreso;
	}

	public void setFechaIngreso(String fechaIngreso) {
		this.fechaIngreso = fechaIngreso;
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public List<UsuarioDTO> getListaUsuariosIngresadosDtos() {
		return listaUsuariosIngresadosDtos;
	}

	public void setListaUsuariosIngresadosDtos(
			List<UsuarioDTO> listaUsuariosIngresadosDtos) {
		this.listaUsuariosIngresadosDtos = listaUsuariosIngresadosDtos;
	}

	public int getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(int idUsuario) {
		this.idUsuario = idUsuario;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public int getEstado() {
		return estado;
	}

	public void setEstado(int estado) {
		this.estado = estado;
	}

	public UsuarioDTO getUsuarioPorEliminar() {
		return usuarioPorEliminar;
	}

	public void setUsuarioPorEliminar(UsuarioDTO usuarioPorEliminar) {
		this.usuarioPorEliminar = usuarioPorEliminar;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public List<UsuarioDTO> getFiltrolistaUsuariosIngresadosDtos() {
		return filtrolistaUsuariosIngresadosDtos;
	}

	public void setFiltrolistaUsuariosIngresadosDtos(
			List<UsuarioDTO> filtrolistaUsuariosIngresadosDtos) {
		this.filtrolistaUsuariosIngresadosDtos = filtrolistaUsuariosIngresadosDtos;
	}

	public String getNombreBuscado() {
		return nombreBuscado;
	}

	public void setNombreBuscado(String nombreBuscado) {
		this.nombreBuscado = nombreBuscado;
	}

	

	
	
	

}
